package com.university.evaluation.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 系统用户表（按需求文档规范）
 * 角色：USER_STU/USER_MON/USER_TCH/USER_ADM
 */
@Data
@TableName("t_sys_user")
public class SysUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId
    private String userId;        // 用户ID（学号/工号）
    private String userName;      // 用户姓名
    private String password;      // 加密存储密码（BCrypt算法）
    private String role;          // 角色：USER_STU/USER_MON/USER_TCH/USER_ADM
    private String collegeId;     // 所属学院ID
    private String contactInfo;   // 联系方式
    private Integer status;       // 状态：0-禁用，1-启用
    private LocalDateTime createTime;  // 创建时间
    private LocalDateTime updateTime;  // 更新时间

    // 角色常量                                                                                                                 
    public static final String ROLE_STUDENT = "USER_STU";    // 学生
    public static final String ROLE_MONITOR = "USER_MON";    // 班委
    public static final String ROLE_TEACHER = "USER_TCH";    // 辅导员
    public static final String ROLE_ADMIN = "USER_ADM";      // 管理员
}
